From: Omar Polo Subject: Re: gotwebd: class-ify some CSS selector and close a couple of divs To: Tracey Emery Cc: gameoftrees@openbsd.org Date: Tue, 09 Aug 2022 17:30:27 +0200 Tracey Emery wrote: > On Sat, Aug 06, 2022 at 06:41:24PM +0200, Omar Polo wrote: > > i noticed that gotwebd uses a lot of ids for element that are present > > multiple times in a page. Diff below moves all such ids to classes > > (well, only the one that I've spotted so far.) We could even consider > > to move everything from ids to classes to simplify the work in the > > future. > > > > While here i've also deleted some unused css (or maybe i should keep > > it for the future?) and fixed two HTML errors: one extra div closed in > > one place and one missing div closed in another place. > > > > I'm running my gotwebd with this applied and seems fine. > > > > ok. wooops, i've noticed only now that this broke the alternate coloring of the files in the tree view. The issue is that now we output multiple class="" attributes and only the first one is used. However, instead of fixing it by constructing the right class="" attribute, what about doing something like this? diff d878a24ff7bcf664f95a19c60627a406bbc7a5da refs/heads/main commit - d878a24ff7bcf664f95a19c60627a406bbc7a5da commit + 601ade2d2def2be51d3f2c8e6b0c121e6a4d0337 blob - 792e8e19e303eed4e803422c638c1c557e713417 blob + 10508310cce72f5c7f5a09c6d456644d90a35343 --- gotwebd/files/htdocs/gotwebd/gotweb.css +++ gotwebd/files/htdocs/gotwebd/gotweb.css @@ -50,13 +50,6 @@ body { color: blue; } -.back_white { - background-color: #ffffff; -} -.back_lightgray { - background-color: #d8f3ef; -} - #logo { height: 50px; } @@ -649,7 +642,11 @@ body { clear: left; float: left; width: 100%; + background-color: #d8f3ef; } +.tree_wrapper:nth-child(even) { + background-color: #ffffff; +} .tree_line { clear: left; float: left; blob - afab0d2143e87ec521a920327cbd9288cd97069f blob + d0b66921ca30028ef77855bc25dc55e1492de971 --- gotwebd/got_operations.c +++ gotwebd/got_operations.c @@ -831,8 +831,8 @@ got_output_repo_tree(struct request *c) struct repo_dir *repo_dir = t->repo_dir; char *id_str = NULL; char *path = NULL, *in_repo_path = NULL, *build_folder = NULL; - char *modestr = NULL, *name = NULL, *class = NULL; - int nentries, i, class_flip = 0; + char *modestr = NULL, *name = NULL; + int nentries, i; TAILQ_INIT(&refs); @@ -917,22 +917,6 @@ got_output_repo_tree(struct request *c) } } - if (class_flip == 0) { - class = strdup("back_lightgray"); - if (class == NULL) { - error = got_error_from_errno("strdup"); - goto done; - } - class_flip = 1; - } else { - class = strdup("back_white"); - if (class == NULL) { - error = got_error_from_errno("strdup"); - goto done; - } - class_flip = 0; - } - name = strdup(got_tree_entry_get_name(te)); if (name == NULL) { error = got_error_from_errno("strdup"); @@ -950,13 +934,8 @@ got_output_repo_tree(struct request *c) "